const { getTodayStatus, getLotteryConfig, checkIn, drawLottery } = require("./request/api");
const { pushWechat } = require("./push_plus");

let pushMessage = "";

function addMessage(message) {
    pushMessage += `<br /> ${message}`;
}

// 查询今日是否签到
async function isSignIn() {
    pushMessage = "";
    try {
        var { data } = await getTodayStatus();
    } catch (error) {
        console.log("出错1");
    }
    // 无法签到
    if (data.data || data.err_no !== 0) {
        data.data && addMessage("今日已签到");
        data.err_no !== 0 && addMessage("查询是否签到失败");
        todayLottery();
        return;
    };
    // 可以签到
    startCheckIn();
}

// 签到
async function startCheckIn() {
    try {
        var { data } = await checkIn();
    } catch (error) {
        console.log("出错2");
    }
    addMessage(data.err_no ? "签到失败" : `签到成功, 当前积分: ${data.data.sum_point}`);
    // 开始查询是否有免费抽奖次数
    todayLottery();
}

// 查询今日是否还有免费抽奖
async function todayLottery() {
    try {
        var { data } = await getLotteryConfig();
    } catch (error) {
        console.log("出错3");
    }
    // 无法抽奖
    console.log(data);
    if (data.err_no !== 0 || !data.data.free_count) {
        data.err_no !== 0 && addMessage("查询是否允许免费抽奖失败!");
        !data.data.free_count && addMessage("今日免费抽奖过啦~");
        pushWechat(pushMessage);
        return;
    };
    // 有抽奖次数
    lottery();
}

// 免费抽奖
async function lottery() {
    try {
        var { data } = await drawLottery();
    } catch (error) {
        console.log("出错4");
    }
    addMessage(data.err_no ? "抽奖失败" : `恭喜抽到:${data.data.lottery_name}`);
    pushWechat(pushMessage);
}

module.exports = {
    isSignIn
}